package com.one.group.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author kld
 * @date 2025/9/30 14:53
 * @description 装修管理
 */
@Data
@Table("sp_decoration_management")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DecorationManagement implements Serializable {
    @Id(keyType = KeyType.Auto)
    private Long id;
    @Column("cell_id")
    private Long cellId;
    @Column("house_number")
    private String houseNumber;
    @Column("decoration_company")
    private String decorationCompany;
    private String applicant;
    @Column("application_date")
    private Date applicationDate;
    @Column("decoration_deposit")
    private BigDecimal decorationDeposit;
    private String status;
    @Column("decoration_content")
    private String decorationContent;
    //审批人
    private String approver;
    @Column("is_deleted")
    private Integer isDeleted;
    
    // 新增字段
    @Column("tenant_id")
    private Long tenantId;
    @Column("applicant_phone")
    private String applicantPhone;
    @Column("construction_unit")
    private String constructionUnit;
    @Column("responsible_person")
    private String responsiblePerson;
    @Column("responsible_phone")
    private String responsiblePhone;
    @Column("construction_start_time")
    private Date constructionStartTime;
    @Column("construction_end_time")
    private Date constructionEndTime;
    @Column("decoration_drawings_url")
    private String decorationDrawingsUrl;
    private String remark;
    
//    // 装修费用相关字段
    private BigDecimal totalFee; // 总费用
    private Integer paymentStatus; // 付款状态:0-未付款 1-部分付款 2-已付款
    private String rejectReason; // 拒绝原因
    
    @Column(value = "create_time")
    private Date createTime; // 创建时间
    @Column("update_time")
    private Date updateTime;
}